package com.ddm.service.webService;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ddm.entity.webEntity.Regulation;

import java.util.List;

/**
 * <p>
 * 规章制度表 服务类
 * </p>
 *
 * @author hpq
 * @since 2025-05-08
 */
public interface RegulationService extends IService<Regulation> {
    /**
     * 添加规章制度
     * @param regulation 规章制度D
     * @return 添加结果
     */
    Boolean add(Regulation regulation);

    /**
     * 更新规章制度
     * @param regulation 规章制度DTO
     */
    Boolean update(Regulation regulation);

    /**
     * 根据ID删除规章制度
     * @param id 主键ID
     * @return 删除结果
     */
    Boolean delete(Integer id);

    /**
     * 根据id查询规章制度文档详情
     * @param id 规章制度文档的id
     * @return 规章制度对象
     */
    Regulation getRegulationById(Integer id);

    List<Regulation> getAllRegulations();


    IPage<Regulation> getRegulationsByPage(Page<Regulation> page, String key);

    IPage<Regulation> getRegulationsByCategoryIds(List<Integer> ids, Page<Regulation> page);

    /**
     * 根据userId查询规章制度文档
     *
     * @param userId 用户的id
     * @return 规章制度的IPage对象
     */
    IPage<Regulation> getCollectedRegulationByUserId(Page<Regulation> page, Integer userId, String key);
}

